const router = require('express').Router();
const itemModel = require('../models/collections/item');
const dayjs = require('dayjs');
// 商品管理
router.get('/itemLists', async (req, res) => {
  // 前端后端发送两个参数  page pageSize 
  let { page = 1, pageSize = 2 } = req.query;
  page = parseInt(page);
  pageSize = parseInt(pageSize);
  // 请求列表数据
  const items = await itemModel.find().
  limit(pageSize).skip((page-1)*pageSize).sort({_id: -1})
  // 商品总条数
  const total = await itemModel.count();
  res.render('itemLists', {
    items,
    total,
    page
  })
})

// 增加商品 页
router.get('/itemAdd', (req, res) => {
  res.render("itemAdd")
})
// 修改商品 页
router.get('/itemUpdate', (req, res) => {
  const { id } = req.query;
  // 根据传递商品id获取商品详情，并携带数据 itemUpdate模板渲染
  itemModel.findById(id).then(item => {
    res.render("itemUpdate", {
      item
    })
  }).catch(err => {
    res.render("itemUpdate", {
      item: {}
    })
  })
  
})
// 增加商品
router.post('/itemAdd', (req, res) => {
  itemModel.insertMany({
    ...req.body,
    createAt: dayjs().format('YYYY-MM-DD')
  }).then(ret => {
    res.send({
      code: 0,
      msg: '新增商品成功'
    })
  }).catch(err=> {
    console.log(err);
    res.send({
      code: -1,
      msg: '新增商品失败'
    })
  })
})
// 修改商品
router.post('/itemUpdate', (req, res) => {
  itemModel.updateOne(
    {
      _id: req.body.id
    },
    req.body
  ).then(ret => {
    res.send({
      code: 0,
      msg: '修改成功'
    })
  }).catch(err => {
    res.send({
      code: -1,
      msg: '修改成功'
    })
  })
})
// 删除商品
router.get('/deleteItem', (req, res) => {
  const { id } = req.query;
  itemModel.deleteOne({
    _id: id
  }).then(ret => {
    res.send({
      code: 0,
      msg: '删除成功'
    })
  }).catch(err => {
    res.send({
      code: -1,
      msg: '删除失败'
    })
  })
})
module.exports = router;